const babel = require("@babel/core")
const sourceCode = `
  new Array(5).fill("111");
`;

const { code, map } = babel.transformSync(sourceCode, {
  filename: 'a.js',
  plugins: [],
  presets: [
    ['@babel/env', {
      // debug: true,
      useBuiltIns: 'usage', // 使用 polyfill （corejs）的方式
      targets: {
        // 目标环境
        browsers: "Chrome 44",
        // browsers: "Chrome 45",
      },
      corejs: 3 // polyfill实现版本。babel 7 所用的 polyfill，需要指定下版本，corejs 3 才支持实例方法
    }]
  ]
})

console.log(code);


/* 上面代码执行后的code
"use strict";

require("core-js/modules/es.array.fill.js");

new Array(5).fill("111");

因为浏览器支持到Chrome 44;版本不支持Array.fill函数，所以就会引入polyfill;可以从打印结果可以看出

*/
